package com.airS.task.fileMgr.service.gk;

import com.airS.task.fileMgr.common.page.Page;
import com.airS.task.fileMgr.model.gk.Role;
import com.airS.task.fileMgr.query.gk.RoleQuery;

import java.util.List;
import java.util.Map;

/**
 * 角色管理服务
 * Created by alan on 2017/3/14.
 */
public interface RoleService {

    /**
     * 按实例ID查询
     * @param id
     * @return
     */
    Role queryRoleById(Integer id);

    /**
     * 按条件分页查询
     * @param query
     * @return
     */
    Page<Role> queryRoles(RoleQuery query);

    /**
     * 所有角色
     * @return
     */
    Map<Integer, Role> getAllRoleToMap();

    /**
     * 所有角色
     * @return
     */
    List<Role> getAllRoleToList();

    /**
     * 角色新增
     * @param role
     * @return
     */
    Integer addRole(Role role);

    /**
     * 角色修改
     * @param role
     * @return
     */
    Integer updateRoleById(Role role);

    /**
     * 按实例ID物理删除
     * @param id
     * @return
     */
    Integer delRoleById(Integer id);

    /**
     * 按实例ID物理删除
     * @param ids
     * @return
     */
    Integer delRoleByIds(List<Integer> ids);
}
